package com.qianyu.entity.bean;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qianyu.entity.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;

/**
* Q群管理
* @TableName tb_qun
*/
@Data
@ApiModel(value = "Q群管理")
@AllArgsConstructor
@NoArgsConstructor
@TableName("tb_qun")
public class Qun extends BaseBean {

    /**
    * 群名
    */
    @NotBlank(message="[群名]不能为空")
    @Size(max= 54,message="编码长度不能超过54")
    @ApiModelProperty("群名")
    private String name;
    /**
    * 建群qq
    */
    @NotBlank(message="[建群qq]不能为空")
    @Size(max= 15,message="编码长度不能超过15")
    @ApiModelProperty("建群qq")
    private String qq;

    @ApiModelProperty(value = "群号")
    private String qunNo;
    /**
    * 状态:0=待创建,1=创建成功,2=创建失败,3=群解散
    */
    @NotNull(message="[状态:0=待创建,1=创建成功,2=创建失败,3=群解散]不能为空")
    @ApiModelProperty("状态:0=待创建,1=创建成功,2=创建失败,3=群解散")
    private Integer status;
    /**
    * 建群时间
    */
    @ApiModelProperty("建群时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date scriptNewTime;
    /**
    * 加群密码
    */
    @NotBlank(message="[加群密码]不能为空")
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("加群密码")
    private String pwd;
    /**
    * 加群链接
    */
    @NotBlank(message="[加群链接]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("加群链接")
    private String link;
    /**
    * 云机分组id
    */
    @NotNull(message="[云机分组id]不能为空")
    @ApiModelProperty("云机分组id")
    private Integer yjGroup;
    /**
    * 云机数量
    */
    @NotNull(message="[云机数量]不能为空")
    @ApiModelProperty("云机数量")
    private Integer yjNum;
    /**
    * 领包云机分组
    */
    @NotNull(message="[领包云机分组]不能为空")
    @ApiModelProperty("领包云机分组")
    private Integer cyjGroup;
    /**
    * 领号最大数量
    */
    @NotNull(message="[领号最大数量]不能为空")
    @ApiModelProperty("领号最大数量")
    private Integer confClaimQnum;
    /**
    * 群发金额上限
    */
    @NotNull(message="[群发金额上限]不能为空")
    @ApiModelProperty("群发金额上限")
    private BigDecimal confGiveMaxMoney;
    /**
    * 领号保持在线数量
    */
    @NotNull(message="[领号保持在线数量]不能为空")
    @ApiModelProperty("领号保持在线数量")
    private Integer confKeepOnlineNum;
    /**
    * 已发红包金额
    */
    @NotNull(message="[已发红包金额]不能为空")
    @ApiModelProperty("已发红包金额")
    private BigDecimal giveMoney;
    /**
    * 已发次数
    */
    @NotNull(message="[已发次数]不能为空")
    @ApiModelProperty("已发次数")
    private Integer giveNum;
    /**
    * 已领红包金额
    */
    @NotNull(message="[已领红包金额]不能为空")
    @ApiModelProperty("已领红包金额")
    private BigDecimal claimMoney;
    /**
    * 已领次数
    */
    @NotNull(message="[已领次数]不能为空")
    @ApiModelProperty("已领次数")
    private Integer claimNum;
    /**
    * 
    */
    @ApiModelProperty("")
    private BigDecimal surplusMoney;
    /**
    * 已加入人数
    */
    @NotNull(message="[已加入人数]不能为空")
    @ApiModelProperty("已加入人数")
    private Integer mNum;
    /**
    * 已加入发包成员数
    */
    @NotNull(message="[已加入发包成员数]不能为空")
    @ApiModelProperty("已加入发包成员数")
    private Integer fmNum;
    /**
    * 已加入领包成员数
    */
    @NotNull(message="[已加入领包成员数]不能为空")
    @ApiModelProperty("已加入领包成员数")
    private Integer lmNum;
    /**
    * 已加入管理人数
    */
    @NotNull(message="[已加入管理人数]不能为空")
    @ApiModelProperty("已加入管理人数")
    private Integer adNum;
    /**
    * 是否待解散:0=否,1=是
    */
    @NotNull(message="[是否待解散:0=否,1=是]不能为空")
    @ApiModelProperty("是否待解散:0=否,1=是")
    private Integer waitDel;
    /**
    * 解散时间
    */
    @ApiModelProperty("解散时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date delTime;
    /**
    * 备注
    */
    @NotBlank(message="[备注]不能为空")
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("备注")
    private String remark;
    /**
    * 
    */
    @ApiModelProperty("")
    private Integer needFillNum;
    /**
    * 上一次下发领号时间
    */
    @ApiModelProperty("上一次下发领号时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date lastClaimTime;
    /**
    * 
    */
    @ApiModelProperty("")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date lastFillTime;

}
